package com.yunhai.device.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yunhai.common.dto.PaginationVo;
import com.yunhai.common.dto.Ret;
import com.yunhai.device.service.DmsPullTeaAlarmService;
import com.yunhai.model.entity.dms.DmsPullTeaNetsignEntity;
import com.yunhai.model.entity.dms.DmsDeviceUploadStatusEntity;
import com.yunhai.model.entity.dms.DmsPullTeaAlarmEntity;
import com.yunhai.model.vo.dms.DmsPullTeaAlarmQuery;
import com.yunhai.model.vo.dms.DmsPullTeaAlarmVo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/pullTeaAlarm")
public class DmsPullTeaAlarmController {

    @Resource
    private DmsPullTeaAlarmService dmsPullTeaAlarmService;


    /**
     * 获取 DmsPullTeaAlarm 分页列表
     */
    @GetMapping("/pagination")
    public Ret getDmsPullTeaAlarmPagination(PaginationVo paginationVo, DmsPullTeaAlarmQuery dmsPullTeaAlarmQuery ) throws Exception {
        IPage page = dmsPullTeaAlarmService.getDmsPullTeaAlarmPagination(paginationVo, dmsPullTeaAlarmQuery );
        return Ret.toPage(page);
    }


    /**
     * 获取 DmsPullTeaAlarm 所有数据
     */
    @GetMapping("/all")
    public Ret getDmsPullTeaAlarmAllList( DmsPullTeaAlarmQuery dmsPullTeaAlarmQuery ) throws Exception {
        List<DmsPullTeaAlarmEntity> list = dmsPullTeaAlarmService.getDmsPullTeaAlarmAllList( dmsPullTeaAlarmQuery );
        return Ret.ok(list);
    }



    /**
     * 获取 DmsPullTeaAlarm 详情
    */
   @GetMapping("/{id}")
   public Ret getDmsPullTeaAlarmDetail(@PathVariable Long id) throws Exception {

       DmsPullTeaAlarmEntity dmsPullTeaAlarm = dmsPullTeaAlarmService.getDmsPullTeaAlarmDetail(id);
       return Ret.ok(dmsPullTeaAlarm);
   }


    /**
     * 新增 DmsPullTeaAlarm
     * */
    @PostMapping("")
    public Ret addDmsPullTeaAlarm(@RequestBody DmsPullTeaAlarmVo dmsPullTeaAlarmVo) throws Exception {

        dmsPullTeaAlarmService.addDmsPullTeaAlarm(dmsPullTeaAlarmVo);
        return Ret.ok();
    }

    /**
     * 数据上报
     * */
    @PostMapping("/status/upload")
    public Ret updateDmsPullStatusUpload( DmsDeviceUploadStatusEntity statusEntity ) throws Exception {

        dmsPullTeaAlarmService.updateDmsPullStatusUpload(statusEntity);
        return Ret.ok();
    }

    /**
     * 网络信号上传
     * */
    @PostMapping("/netsign/upload")
    public Ret updateDmsPullNetworkSignStatusUpload( DmsPullTeaNetsignEntity networkStatusEntity ) throws Exception {

        dmsPullTeaAlarmService.updateDmsPullNetworkSignStatusUpload(networkStatusEntity);
        return Ret.ok();
    }

    /**
     * 报警上传
     * */
    @PostMapping("/alarm/upload")
    public Ret updateDmsPullAlarmUpload() throws Exception {


        return Ret.ok();
    }


    /**
     * 更新 DmsPullTeaAlarm
     * */
    @PutMapping("")
    public Ret updateDmsPullTeaAlarm(@RequestBody DmsPullTeaAlarmVo dmsPullTeaAlarmVo) throws Exception {

        dmsPullTeaAlarmService.updateDmsPullTeaAlarm(dmsPullTeaAlarmVo);
        return Ret.ok();
    }


    /**
     * 删除 DmsPullTeaAlarm
     * */
    @PostMapping("/batchRemove")
    public Ret batchRemoveDmsPullTeaAlarm( @RequestBody List<Long> ids ) throws Exception {

        dmsPullTeaAlarmService.batchRemoveDmsPullTeaAlarm(ids);
        return Ret.ok();
    }
}

  